package com.chenfan.mcn.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chenfan.mcn.model.CompanyTarget;
import com.chenfan.mcn.model.McnPage;
import com.chenfan.mcn.model.dto.CompanyTargetDTO;
import com.chenfan.mcn.model.dto.CompanyTargetSearchDTO;
import com.chenfan.mcn.model.vo.CompanyTargetPageVO;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lizhejin
 * @since 2021-04-19
 */
public interface CompanyTargetService extends IService<CompanyTarget> {

    /**
     * 新增公司目标管理
     *
     * @param companyTargetDTO {@link CompanyTargetDTO}
     * @return Integer
     */
    Integer addTarget(CompanyTargetDTO companyTargetDTO);

    /**
     * 编辑公司目标管理
     *
     * @param companyTargetDTO {@link CompanyTargetDTO}
     * @return Integer
     */
    Integer updateTarget(CompanyTargetDTO companyTargetDTO);

    /**
     * 公司目标详情
     *
     * @param id
     * @return CompanyTargetDTO {@link CompanyTargetDTO}
     */
    CompanyTargetDTO tailTarget(Long id);

    /**
     * 删除公司目标
     *
     * @param id
     * @return Integer
     */
    Integer deleteTarget(Long id);

    /**
     * 公司目标分页列表
     *
     * @param mcnPage
     * @param dto
     * @return
     */
    Page<CompanyTargetPageVO> getPage(McnPage<CompanyTargetPageVO> mcnPage, CompanyTargetSearchDTO dto);

    /**
     * 季度销售额更新落库
     *
     * @return Integer
     */
    void updateQuarterSales();
}
